/* @(#)DecKanGlCoreObject.java Jan 16, 2003
 ** 
 ** Copyright (C) 2001-2011 by Steven D. Stamps
 **
 **             Trademarks & Copyrights
 ** Flywheel Management Science(TM) and FlywheelMS(TM) are exclusive
 ** trademarks of Steven D. Stamps and may only be used freely for
 ** the purpose of identifying the unforked version of this software.
 ** Subsequent forks (if any) may not use these trademarks.  All other
 ** rights are reserved.
 **
 ** DecKanGL (Decorated Kanban Glyph Language) and TribKn (Tribal Knowledge)
 ** are also exclusive trademarks of Steven D. Stamps.  These may be used
 ** freely within the unforked FlywheelMS application and documentation.
 ** All other rights are reserved.
 **
 ** Trademark information is available at
 ** <http://www.flywheelms.org/trademarks>
 **
 ** Flywheel Management Science(TM) is a copyrighted body of management
 ** metaphors, governance processes, and leadership techniques that is
 ** owned by Steven D. Stamps.  These copyrighted materials may be freely
 ** used, without alteration, by the community (users and developers)
 ** surrounding this GPL3-licensed software.  Additional copyright
 ** information is available at <http://www.flywheelms.org/copyrights>
 **
 **              GPL3 Software License
 ** This program is free software: you can use it, redistribute it and/or
 ** modify it under the terms of the GNU General Public License, version 3,
 ** as published by the Free Software Foundation. This program is distributed
 ** in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
 ** even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
 ** PURPOSE.  See the GNU General Public License for more details. You should
 ** have received a copy of the GNU General Public License, in a file named
 ** COPYING, along with this program.  If you cannot find your copy, see
 ** <http://www.gnu.org/licenses/gpl-3.0.html>.
 */
package com.fmscorp.deckangl.core;

import javax.swing.ImageIcon;

/**
 * @author sstamps
 */
public abstract class DecKanGlDictionaryObject {

	protected static final String JAR_FILE_SEPARATOR = "/";
	protected String name;
	private String directoryName;
	protected String imageIconPath;
	
	protected DecKanGlDictionaryObject(String aName) {
    	this.name = aName;
	}

	public String toString() {
		return this.name;
	}

	public String getName() {
		return this.name;
	}

	public String getDirectoryName() {
		if (this.directoryName == null) {
			directoryName = this.name.replaceAll(" ", "");
		}
		return this.directoryName;
	}
	
	public String getImageIconPath() {
		return this.imageIconPath;
	}

	public ImageIcon getImageIcon() {
		return DecKanGlImageManager.retrieveImageIcon(
				this.getImageIconPath());
	}

//	public static abstract String getMetaDescription();  // implement in each sub-class

//	public abstract static ImageIcon getPrototypeIcon();

//	public abstract static void setPrototypeImageIcon(ImageIcon aPrototypeImageIcon)

}